package com.thoughtful.loadbalance;

import java.util.List;

import com.thoughtful.remoting.dto.RpcRequest;
import com.thougtful.extension.SPI;

/**
 * 负责负载均衡的接口
 * @author yushun
 * @createTime 2022/10/19 - 16:10
 **/
@SPI
public interface LoadBalance {

    /**
     * 在服务器地址列表中选择一个返回
     * @param serviceUrlList    服务器地址列表
     * @param rpcRequest        请求
     * @return                  选择的服务器地址
     */
    String selectServiceAddress(List<String> serviceUrlList, RpcRequest rpcRequest);

}
